perm filename RSL.JHS[UP,DOC]1 blob
sn#002795 filedate 1972-10-09 generic text, type T, neo UTF8
AUTOMATIC SERVICE LEVEL RESERVATION ---
--- AN INFORMAL INTRODUCTION & EXPLANATION
In the past, it has been necessary to sign up for service
level on a sheet posted in the computer room. Now, reservations are
kept within the computer itself, for service level and for III
displays, the user disk pack, plotter, and MTA0.
If you don't know what service level is, see the appendix on
pages 4,5,& 6 - being an historical document concerning service level.
Winning features of this scheme are two: 1. If you have SL
reserved, you can get it immediately. 2. If reserved SL is
unclaimed, it is available (until claimed) on a first-come,
first-served basis.
HOW TO RESERVE SERVICE LEVEL:
Give the monitor level command "R RSL". This runs a csp
program called RSL which will receive and sometimes grant your
requests for service level reservations, and will tell you such
information as how much SL is available when.
RSL will prompt you with an asterisk ("*") when it's ready to
accept commands. Command format is discussed in detail below.
Commands are RESERVE,CALENDAR,AVAILABLE,DISPLAY,MAINTENANCE,and HELP.
For example, to reserve 15% sl at 1400 on the 31st of
December, any of the following command strings will serve:
RESERVE 15 SL AT 1400 HOURS ON 31-DEC
r 15 on 31 decemb at 2 p.m.
RE 2 PM ON 31 DECEMBER 15
R 15 14 31 12
If you wish to change a service level reservation, just do
another reservation for the new desired amount. Releasing a service
level reservation may be done by "reserving" 0% SL.
IMPORTANT!
When you are through making reservations, you should exit
from RSL by typing "E" (just like stopgap). If you exit instead by
typing ↑C, then there is a possibility that your reservations may get
"lost". The "E" command causes reservations to be written out onto
the disk.
HOW TO RESERVE DEVICES:
The six III displays, the user disk pack, plotter, and MTA0
may also be reserved. RSL merely makes and retains device
reservations; unlike service level, enforcement is left up to the
users.
To reserve III24, 5% service level, and the user disk pack,
type "RESERVE 5 SL III 24 UDP" or "R III4UDP5".
A device may be unreserved by preceding it with a minus sign:
"R -III PLTR -UDP MTA" will simultaneously reserve MTA0 and the
plotter, and unreserve the udp and any and all III's.
If you don't care which III you get, you may say "III"
instead of "III4" or "III23" or etc.
OTHER COMMANDS AVAILABLE:
To get a list of your current reservations, type "DISPLAY" or
"displ" or "di" or "D". The command string "D XYZ" will get a list
of programmer XYZ's current reservations.
The "calendar" command will show you which programmers have
what reservations on a given time and date. For example, "C FOR 3"
will show you the reservations for the current hour and the following
2 hours also.
"Available" is a short form of "calendar". "A 0000 HOURS FOR
24 ON 1-JAN-88 will yield 24 lines of output telling how much service
level is still available at each time slot on the first day of 1988,
should the system last so long.
Some people occasionally have a need to do work under a
fictious programmer name, such as SYS, AIL or HE. Fictious
programmer names have no funny money, and thus can't reserve service
level. However, reservations made by and in the name of a bone fide
programmer may be "transferred" to any other programmer name,
fictious or otherwise. For example, Dan C. Swinehart can say "TR AIL
FOR 3" to RSL while logged in as DCS, log out, and then log in as
S,AIL, at which point he (as programmer "AIL") will get the benefits
from the system of whatever reservations he (as DCS) had made for the
next three hours.
"Help" or "H" will type for you a summary of command string
structure in condensed form, not necessarily comprehensible unless
you know BNF or are refreshing your memory.
The "MAINTENANCE" or "m" command reserves the entire (bare)
machine for hardware or software purposes. e.g., "M 4 pm for 2"
will request the machine for maintenance from 4 to 6 pm.
This command can also be used to cancel a bare machine
reservation. Just type a minus sign immediately in front of the date
specification, e.g. "M -25 nov 73 for 2".
Proper use of the "EXIT" commaand can be very important, and
requires an understanding of it's function. The data base for all
current and future reservations is kept internally in the *-SL-*
program at all times. Many of the commands you give to RSL cause a
change in this data base. However, these changes are not necessarily
made in the "permanent" data base, which lives on the disk. The
"EXIT" (or "E") command causes the internal data base to be written
out on the disk, and it is only this copy which can survive system
crashes or system maintenance. IT IS POSSIBLE TO "LOSE" RESERVATIONS
by leaving RSL with "↑C" instead of "E". Use whichever method you
prefer.
HOW TO OBTAIN SERVICE LEVEL:
When you log in, the login routine will cause any service
level you have reserved to be assigned to you.
The SL command works as before. The system will give you the
amount of SL you request, if possible. If not, it will tell you how
much is available for YOU, this amount being the obvious function of
your reservation, your current SL, and the total current unassigned
SL.
It is not necessary to request your SL within 5 minutes of
the hour. A reservation is valid for the entire hour, won't go away
at any time within the hour, and guarantees that at any time within
that hour a SL command requesting that amount of SL, or less, will be
granted.
It is possible to obtain service level with the SL command
which you have not reserved. Catch-22: some or all of it may go
away without notice if someone with a reservation requests "his"
service level.
WHAMS AND BAMS
Different users are allowed to reserve different amounts of
service level. Basically, every user has an account (possibly null)
of two kinds of "funny money", called whams and bams. The
administrative framework of funny money is described in the appendix
on pages 4,5, & 6, and is adhered to by the automatic service level
reservation system.
The amount of funny money in a users account is found in the
phone directory. Changes to the phone directory are reflected are
observed by the service level system.
RSL COMMAND SYNTAX:
--- in bnf somewhat
METASEMANTICS:
Anything in curly brackets is optional.
A slash ("/") between two bnf terms represents one or more
delimiters (space,slash,apostrophe,minus sign,comma).
A double arrow ("↔") between two bnf terms indicates that the
order of the terms is not always important. If the syntax of a term
distinguishes it, then it may appear anywhere in the command line,
provided no nondistinguishable term which might be confused with it
precedes it. (It's simpler than it sounds)
SYNTAX:
<RSL command> ≡ <Rcom>|<Acom>|<Ccom>|<Dcom>|<Tcom>|<Hcom>|<Mcom>|<Ecom>
<Rcom> ≡ RESERVE {<sl-arg>}↔{<hr-arg>}↔{date-arg>}↔{<for-arg>}↔{<device>}
<Acom> ≡ AVAILABLE {<hr-arg>}↔{date-arg>}↔{<for-arg>}
<Ccom> ≡ CALENDAR {<hr-arg>}↔{date-arg>}↔{<for-arg>}
<Dcom> ≡ DISPLAY {<programmer initials>}
<Tcom> ≡ TRANSFER <programmer initials> {<hr-arg>}↔{<date-arg>}↔{<for-arg>}
<Hcom> ≡ HELP
<Mcom> ≡ MAINTENANCE {-}{<hr-arg>}↔{<date-arg>}↔{<for-arg>}
<Ecom> ≡ EXIT
<sl-arg> ≡ <integer> | <integer> SL
<hr-arg> ≡ <military hour> | <civilian hour>
<civilian hour> ≡ [ 1 | 2 | ... | 12 ] { AM | A.M. | PM | P.M.}
<military hour> ≡ [0 | 1 | ... | 23]{00} {HRS|HOURS}
<date-arg> ≡ <people day> | <day-arg>/<month-arg>{/<year-arg>}
<people day> ≡ SUNDAY | MONDAY | ... | SATURDAY
<day-arg> ≡ 0 | 1 | 2 | ... | 31
<month-arg> ≡ <people month> | <computer month>
<people month> ≡ JANUARY | FEBRUARY | ... | DECEMBER
<computer month> ≡ 1 | 2 | ... | 12
<year arg> ≡ {19}71 | {19}72 | ... | {19}99 | 2000 | 2001 | ... |2099
<for-arg> ≡ <integer> | FOR <integer>
<device> ≡ MTA | PLTR | UDP | <iii>
<iii> ≡ III | III0 | III1 | ... | III5 | III20 | III21 | ... | III25
SEMANTICS:
Names of commands, weekdays and months may be abbreviated by
truncation, and may be capitalized or not. Device names may not be
abbreviated.
The for term (e.g., FOR 3) specifies a consecutive number of
hours, starting with the hour & date specified.
When the syntax of a command does not allow a left-to-right
scanner to distinguish terms, then the ambiguous terms will be
assumed to be in the order listed in the syntax.
If a term is missing from an argument, RSL will supply one it
deems appropriate.
A date specified by giving the name of a day, is the earliest
future or present date falling on the given weekday. (Notice that at
0830 on Wednesday, "wednesday" specifies either the current date, or
the date one week hence, depending on the hour specification.)
SUBSEMANTICS:
The following funny mechanism exists: RSL always has a time
& date "in mind", called the default date. The default time & date
is usually the last time & date you typed. If a command does not
specify a time (date), then the default time (date) will be used.
Commands terminated with a line feed (altmode) will advance
(backup) the default time & date. The amount of advance (backup) is
1 hour, 1 day, 1 week, 1 month depending as plain, control, meta,
control & meta were used with the line feed (altmode).
APPENDIX: being an historical MEMORANDUM:
17 June 1970
To: Artificial Intelligence Laboratory Users
From: L. Earnest
Subject: Another Computer Reservation Procedure
The timesharing monitor has now been modified so that the amount of
processing you get decreases linearly with your core size. The new
rules are given in the attachment.
The timesharing scheduler gives different priorities to each of three
user classes:
1) interactive users
2) reserved users
3) scavengers
The first goal of the scheduler is to provide good service to anyone
doing interactive work such as editing. The System decides whether a
given job is currently interactive on the basis of keyboard input
activity.
You get to be a reserved user by reserving a service level on the
signup sheet and telling the scheduler about it. For example, to
request a service level of 20%, type
.SL 20
Whenever you are running, the scheduler will then attempt to give you
a processing level (% of CPU time) given by
PL = SL - C/5
where SL is the service level and C is your current core size (in K).
The system will not let more than a certain total service level to be
allocated in this way (currently 80%).
If you are neither interactive nor reserved, you get some of what is
left, which may be pitifully little. The system is supposedly rigged
so that reserved users always get service at least as good as
scavengers. Note that if you are editing and execute a long-running
string search, the system may decide you are a scavenger and take
forever to finish.
To keep things honest, WHO now shows service level declarations at
the right end of the job line. Users are encouraged to publicly
denounce outlaws and urge them to reform. In case moral persuasion
doesn't work, let me know and I will employ immoral persuasion.
WHO will shortly be modified to display the actual processing level
being provided to your program, so that you may have a more concrete
basis for complaint. Hopefully, the reservation system will be in
the computer before long. As soon as the Data Disc displays are in
operation, displays will no longer be rationed.
Stanford Artificial Intelligence Laboratory
Effective date: 22 June 1970
Each authorized user has an allowance of two kinds of money, called
"whams" and "bams". Whams may be used only to purchase display
terminal time, while bams are good only for CPU service. The
allocations are as follows.
Whams Bams
Half time user 4 100
Full time user 8 200
Panic User 16 400
You are "half time" or "full time" in accordance with the portion of
your time devoted to A.I. activities. In an emergency situation, you
may be given a short term appointment as a Panic user.
Your "money" allocations are actually revolving funds in that if you
reserve machine time and use it, you may then re-use the reservation
money. In effect, then, there is a limitation on how much you can
reserve at a given time. There is no conversion between whams and
bams, nor can funds be transferred between persons.
The display costs W (whams/hour) vary with time of day as given in
the table below. The price P (bams/hour) of buying any given service
level SL (in percent) is
P = SL*B*T
where B is the rate (bams/hour) given in the same table and T is the
number of hours.
Time 0000-0900 0900-1300 1300-1800 1800-2400
W & B W & B W & B W & B
Monday-Friday 1 2 3 2
Sat., Sun., holidays 1 1 2 1
You may reserve a display without a service level or vice versa, but
reservations may be made only for integral hours beginning on the
hour. Other peripheral devices may be reserved only if you have
reserved a service level. Service levels may be purchased only in
multiples of 5%. The attached table gives maximum service levels that
can be purchased in any given time zone.
III display reservations may be made for a particular display by
putting a parenthetical digit (0-5) after your initials. Initials
without a digit are interpreted as "don't care which". In case of
partial equipment failure, signups on the left side of the sheet have
priority.
All entries must be in pencil. Entries in ink are void and should be
ignored.
You may purchase unreserved or unclaimed resources (see 5 minute rule
in SAILON-37) at any time if you have enough money. If someone is
logged in on a display that is reserved but unclaimed, however, he
has first priority to buy that hour. You should enter your initials
on the reservation sheet to record ownership.
Maximum Service Levels
To find the maximum service level that can be reserved during a given
period, first look up the price B (1, 2, or 3 bams/hour), given
above, then look down the corresponding column below to the number of
hours you wish to run. The maximum service level you can afford is
given under your user class. For example, in the afternoon (3
bams/hour), a fulltime user who plans to run 3 hours may purchase a
service level of 20%.
Price B (bams/hour) User Class
3 2 1 halftime fulltime
-------------------- --------------------
1 hr 80% 80%
1 hr 2 50 80
1 hr 3 30 65
-------------------- --------------------
2 4 25* 50
5 20 40
2 3 6 15 30
Duration -------------------- --------------------
7 10 25
4 8 10 25*
3 5 9-10 10 20
-------------------- --------------------
4 6 11-13 5 15
5-6 7-10 14-20 5 10
7-13 11-20 21-40 0 5
* Indicates the level that can be purchased with concurrent display
service.